package com.muyu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.api.exception.BusinessException;
import com.muyu.model.entity.UserQuestionsEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @ClassName: UserQuestionsService
 * @Author: Zirun.Xin
 * @Date: 2025/4/29 下午2:28
 * @Version: 1.0
 * @Description: 问题反馈业务层
 */
public interface UserQuestionsService extends IService<UserQuestionsEntity> {

    /**
     * 获取已上传过截图的问题反馈
     *
     * @return 获取数据
     */
    List<UserQuestionsEntity> getQuestions();

    /**
     * 根据图片地址进行预览
     *
     * @param imgPath   图片地址
     * @param accountId 账户id
     */
    void reviewImgByPath(String imgPath, String accountId);

    /**
     * 根据图片地址进行下载
     *
     * @param imgPath   图片地址
     * @param accountId 账户id
     */
    void downloadImgByPath(String imgPath, String accountId);

    /**
     * 保存用户问题及关联图片
     *
     * @param images           上传的图片文件数组
     * @param creatorName      创建者姓名
     * @param creatorAccountId 创建者账号ID
     * @param creatorDept      创建者部门
     * @param questionContent  问题内容
     * @param questionType     问题类型
     * @throws BusinessException 当参数无效、图片处理失败或数据库操作失败时抛出
     */
    void saveQuestion(MultipartFile[] images, String creatorName, String creatorAccountId,
                      String creatorDept, String questionContent, String questionType);
}
